package com.kehongborui.reflecttion;

/**
 * 反射测试类
 */
public class RefTest {
    public static void main(String[] args) throws ClassNotFoundException {
        // Object ——> getClass()
        Class clazz01 = new Student("", 1).getClass();
        // 任何数据类型（包括基本数据类型）都有一个“静态”的class属性
        Class clazz02 = Student.class;
        // 通过 Class 类的静态方法：forName（String  className）(常用)
        Class clazz03 = Class.forName("com.kehongborui.reflecttion.Student");

        System.out.println(clazz01 == clazz02);  // 比较 clazz01 与 clazz02 是不是同一个对象
        System.out.println(clazz02 == clazz03);
        System.out.println(clazz01 == clazz03);

        // 通过以上3中方式获取到的类对象都是同一个， 因为 jvm 在加载类的时候，只会形成一个 Class 实例， 后面不会再重新创建
    }
}
